package com.zb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zb.entity.ZjWorkModuleField;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 工单模块字段关联表 Mapper 接口
 * </p>
 *
 * @author WEN
 * @since 2023-09-26
 */
@Repository
public interface ZjWorkModuleFieldMapper extends BaseMapper<ZjWorkModuleField> {

    /**
     * 批量更新字段必填项
     * @param ids 工单模块自定义工单字段ID
     * @param required 是否必填：false-不必填，true-必填
     * @return
     */
    int updateRequiredBatchById(@Param("ids") List<Long> ids, @Param("required") boolean required);

    /**
     * 批量更新移动显示项
     * @param ids 工单模块自定义工单字段ID
     * @param mobileShow 是否移动端显示：false-不展示，true-展示
     */
    int updateMobileShowBatchById(@Param("ids") List<Long> ids, @Param("mobileShow") boolean mobileShow);

    /**
     * 批量更新是否作为列表查询条件项
     * @param ids 工单模块自定义工单字段ID
     * @param listSelect 是否作为列表查询条件：false-不作为查询条件，true-作为查询条件
     */
    int updateListSelectBatchById(@Param("ids") List<Long> ids, @Param("listSelect") boolean listSelect);

    /**
     * 批量更新是否在列表展示项
     * @param ids 工单模块自定义工单字段ID
     * @param listShow 是否在列表展示：false-不在列表展示，true-在列表展示
     */
    int updateListShowBatchById(@Param("ids") List<Long> ids, @Param("listShow") boolean listShow);

    /**
     * 查询字段是否已关联
     * @param moduleId 模块ID
     * @param id 工单字段ID
     * @param workFieldId 工单字段表ID
     * @return
     */
    Integer existByWorkFieldId(@Param("moduleId") Long moduleId, @Param("id") Long id, @Param("workFieldId") Long workFieldId);



}
